﻿namespace AdventureWorksApp
{
    using System.Windows.Controls;
    using System.Windows.Navigation;

    /// <summary>
    /// Домашняя страница приложения.
    /// </summary>
    public partial class Home : Page
    {
        /// <summary>
        /// Создает новый экземпляр класса <see cref="Home"/>.
        /// </summary>
        public Home()
        {
            InitializeComponent();
            App._HomePage = this;
            this.Title = ApplicationStrings.HomePageTitle;
        }

        /// <summary>
        /// Выполняется, когда пользователь переходит на эту страницу.
        /// </summary>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            InvalidateUidInfo();
        }

        public void InvalidateUidInfo()
        {
            if (WebContext.Current.User.IsAuthenticated && WebContext.Current.User.Roles != null)
            {
                _UidNameTextBox.Text = WebContext.Current.User.DisplayName;
                _grid.ItemsSource = WebContext.Current.User.Roles;
            }
            else
            {
                _UidNameTextBox.Text = "";
                _grid.ItemsSource = null;
            }
        }

        private void Page_Unloaded(object sender, System.Windows.RoutedEventArgs e)
        {
            App._HomePage = null;
        }
    }
}